iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
Claude AI

AI 心法三十天:用 Claude Code 當實驗場,從提問、驗證到拓展自己的想像系列 第 7

[Day 07] Context Engineering: prompt 只是它看到的 5%

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20260921/20078298Tl9SXnaOGf.png

Prompt 只是一句話, Context 是它讀的整本書 — What "the Other 95%" Means

你打字送出的是那一句. 模型當下讀到的是整個 context window. Claude Code 一次呼叫大概長這樣:

誰放進去的 大約佔比
System prompt / CLAUDE.md 你或工具預先寫好 ~10%
前幾輪對話 累積 ~30%
工具定義 (MCP) 你安裝的 MCP server ~15%
@ 進來的檔案、Read 抓的檔案 每輪動態放 ~30%
你這一句 prompt ~5%
模型的思考 + 回應空間 保留給模型 ~10%

你動的那 5%, 只有 5% 的重量. Context Engineering 講的是其他 95% 你也可以主動設計. Karpathy 一句話點名: 「context engineering 是把 context window 填對這門手藝.」


三種偏掉的方式 — Missing / Overloaded / Poisoned

模型答錯, 大部分不是「它變笨」, 是它看到的 context 不對. 三種偏法, 症狀不同:

偏法 症狀 原因
Missing 明顯資訊沒對到, 亂猜 該給的檔案沒 @ 進來, RAG 漏檢
Overloaded 拖越久答越糊, 忘記前面說過的 Context 塞太滿, attention 被稀釋
Poisoned 一直沿用前面的錯誤假設 早輪的錯誤輸出還在對話裡, 每輪都被讀一次

第二種最不容易發現, 因為模型不會告訴你「我這輪注意力有點分散」. Anthropic 官方講白: context rot 是 transformer 架構本身的特性, 不是訓練沒做好. 這也解釋為什麼一次對話拖到 100K+ tokens, 結果通常很難用.

第三種你要學會辨識. 一發現它開始沿用某個錯的假設 (變數名寫錯、改到不對的檔案), 不要在同一個對話裡繼續解釋, 直接開新對話. 這比在污染的 context 裡糾正快.


動手調 Context 的四招 — Four Practical Moves

LangChain 的 Lance Martin 把 Context Engineering 的動作分四類. 我把它對應到 Claude Code 的實際指令:

動作 做什麼 Claude Code 對應
Write 把資訊寫到 context 外面, 之後再讀 CLAUDE.md (常駐規則)、agent 主動寫 NOTES.md
Select 需要時才拉進來 /skill-name 觸發載入、Read 某檔案Grep
Compress 塞進來的東西壓一壓 /compact (整輪對話摘要)、/clear (整段砍掉)
Isolate 邊界工作丟到別的 window Sub-agent、/goal 開子任務、另開一個 Claude Code session

四招不是選一個, 是一起用. 一個成熟的工作流大概是: 平常靠 CLAUDE.md write 到外面 → 每次任務用 skill select 只拉相關的 → 對話變長就 compact → 髒活丟 sub-agent isolate.


Claude Code 上的五個具體例子 — Concrete Cases

例一: 一個 CLAUDE.md 讓 refactor 從三輪變一輪

沒 CLAUDE.md 時, 你每個檔案都要重貼一次「用 tab 不用 space、結尾空行、commit 用中文」. 寫進 CLAUDE.md 後每輪自動注入, 你只講「refactor 這支」, 它就照 project style 動.

例二: 20 個 MCP 全裝上, 每輪多吃 5K 到 10K tokens

一個 MCP tool 定義平均 200 到 500 tokens. 裝 20 個等於每輪都讀 4K 到 10K 工具定義, 而且模型從 20 個裡挑對的準度會下降. Anthropic 原話: 「人類工程師都無法確定該用哪個, AI agent 也做不到.」實務: MCP 分場景裝.

例三: /compact/clear 什麼時候各用哪個

  • /compact: 對話有價值但長度已經吃到效能. 摘要完繼續, 決策脈絡保留
  • /clear: 對話被 poisoned 或任務轉大方向. 整段丟掉, 不要留下前面的錯

大部分人只會 /clear. /compact 是耐心武器, 長任務中間 compact 幾次比每次都 clear 好.

例四: 讓 agent 主動寫 NOTES.md
長跑任務中, 直接叫 agent「把目前進度、待辦、發現寫進 NOTES.md」. 下一次對話開始就 Read NOTES.md, 恢復到中斷處. Anthropic 那隻打 Pokémon 的 agent 靠這招在幾千步之間追進度. 這是 write 的進階用法: 不只寫規則, 讓 agent 寫自己的外部記憶.

例五: 用 sub-agent 隔離髒活
要在整個 repo 找一個特定 pattern, 別在主對話直接 Grep, 每次搜尋結果都會留在 context 裡佔位子. 開 sub-agent 專門去找, 只把結論回主對話. 主 context 保持乾淨. 這是 isolate 的日常用法, 也是 Day 06 「指令與資料分開」的延伸.


Web chat 版本怎麼做 — What You Can Do in Web Chat

上面五個例子都在講 Claude Code. 如果你用的是 web chat (Claude.ai、ChatGPT、Gemini), 沒有 CLAUDE.md、沒有 MCP、沒有 /compact、沒有 sub-agent 指令, 不代表 Context Engineering 用不上. 四招都有對應做法, 只是介面換了:

動作 Web chat 上的做法
Write Claude Projects Instructions + Knowledge / ChatGPT Custom Instructions / Gemini Gems
Select 上傳前先過濾, 只貼真的需要的段落, 不要整份 doc 丟
Compress 開新 chat 就等於 /clear. 切換前先叫模型「把目前結論摘要成一段」再貼進新 chat 帶過去
Isolate 一個主題一個 chat / 一個 Project. 別把工作、學習、旅行塞同一條

具體幾條:

  1. CLAUDE.md 的 web chat 版是 Custom Instructions / Project Instructions. Claude Projects 讓你為每個 Project 寫「這個專案的目標、風格、限制」, 每次對話自動注入, 效果跟 CLAUDE.md 一樣
  2. 開新對話比想像中重要. 沒有 /clear, 但點「New Chat」就是最強的 reset. 對話開始歪掉、切主題、或已經很長, 直接開新的比在原對話裡糾正快
  3. 對話開頭給結構. 用 Day 06 那個四件事範本, 手打進去也一樣有效. Web chat 不必用 XML 標籤那麼講究, 「任務: … / 背景: … / 資料: … / 輸出格式: …」四段就夠
  4. Memory 要看但別依賴. ChatGPT memory、Claude 個人記憶都會自動累積. 定期進設定看一下, 清掉不再相關的. 不然它會拿你三個月前的錯誤前提回你新問題
  5. Attachments 是雙面刃. 上傳 PDF、圖片會直接進 context, 一份 300 頁的 PDF 塞進去就吃掉一半 window. 只挑需要的頁截圖或摘要貼上, 比整份丟好

常見誤會 — Common Mistakes

誤會 事實
Context window 200K, 塞滿也沒關係 塞到 180K 通常比塞 30K 差, 因為 attention rot
MCP 越多能力越強 每個 MCP 都吃 context, 而且 tool 選擇準度會下降
對話越長, AI 越懂我 對話越長, attention 越稀. 有明確目標就開新 session
Prompt 寫得好就夠了 Prompt 只有 5% 權重, 另外 95% 你沒動的話, 好 prompt 也救不回來
/clear 就是 reset /clear 是丟掉對話 context, 但保留了 CLAUDE.md 跟 skills; 不是全 reset

這一天要記的一句話 — One Line

Prompt 是問句, Context 是它讀的那本書. 問對很好, 但選對書更重要.

Context Engineering 這件事後面幾天會反覆用到. CLAUDE.md、skills、hooks、subagents 都是它的具體實作.


Sources


上一篇
[Day 06] Prompt Engineering: 哪些技巧真的有效, 哪些只是傳說
下一篇
[Day 08] Harness Engineering: 你已經在用只是不知道
系列文
AI 心法三十天:用 Claude Code 當實驗場,從提問、驗證到拓展自己的想像8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言